$(document).ready(function(){
    var xhr; // 用于存储AJAX请求对象
    const md = window.markdownit(); // 初始化markdown-it

    $('#askForm').on('submit', function(event){
        event.preventDefault();
        var question = $('input[name=question]').val();

        if (question.trim() === '') {
            return; // 如果输入为空，不进行请求
        }

        // 显示加载弹窗
        $('#loadingOverlay').show();

        // 发送AJAX请求
        xhr = $.ajax({
            url: '/ask',
            method: 'POST',
            data: {question: question},
            success: function(response){
                var answer = response.answer;
                if (answer) {
                    // 使用markdown-it将Markdown转换为HTML
                    var htmlAnswer = md.render(answer);
                    $('#response').html(htmlAnswer);
                } else {
                    $('#response').html('竭诚为您服务');
                }
            },
            error: function() {
                $('#response').html('抱歉，服务器暂时无法处理您的请求，请稍后再试。');
            },
            complete: function() {
                // 隐藏加载弹窗
                $('#loadingOverlay').hide();
            }
        });
    });

    // 取消按钮的点击事件
    $('#cancelButton').click(function() {
        if (xhr && xhr.readyState !== 4) {
            xhr.abort(); // 中断AJAX请求
        }
        $('#loadingOverlay').hide(); // 隐藏加载弹窗
    });

    // 关于我链接的点击事件
    $('#aboutLink').click(function(event) {
        event.preventDefault(); // 阻止默认行为
        fetchAboutMeContent(); // 获取并显示弹窗内容
    });

    // 关闭弹窗
    $('.close, .modal').click(function() {
        $('#aboutMeModal').hide(); // 隐藏弹窗
    });

    // 防止点击弹窗内容时关闭弹窗
    $('.modal-content').click(function(event) {
        event.stopPropagation();
    });

    // 获取关于我的内容
    function fetchAboutMeContent() {
        $.ajax({
            url: '/get_about_me',
            method: 'GET',
            success: function(response) {
                // 更新弹窗标题和内容
                $('.modal-content h2').text(response.title);
                $('.modal-content p').html(response.content);
                $('#aboutMeModal').show(); // 显示弹窗
            },
            error: function() {
                alert('无法获取关于我的内容，请稍后再试。');
            }
        });
    }
});